Electronic real time statistical analyzer



Sept. 29, 1964 H. M. BECK ELECTRONIC REAL TIME STATISTICAL ANALYZER '7 Sheets-Sheet 1 Filed Feb. 27, 1962 Sept. 249, 1964 I H. M. BECK 3,151,312

ELECTRONIC REAL. TIME STATISTICAL ANALYZR Filed Feb. 27. 1962 'f sheets-sheet 2 25 1 I 1 1 Bn 1 2 3 INTEGRATORS 32 :5151 ze 27 ODl CD2 D522?" f(t) (I) .g2 36 GATE PLUG BOARD STARTI ISTJP r23 ,50

DUAL ft, LOAD PRESET SHIFT REGISTER SCALER A2' CIRCUIT a4 EVEN ODD E f ADVANCE :ELE-E DETEGTORS AND 3O\ INTEGRATORS GATE Ht) il i2 1 26 STAR IsToP PLU G B O A R D DIIAESET m) SOALER 2| Zal-OAD I Iso F CIRCUITI SHIFT REGISTER 24- EVEN ODD Cf Y ADvANGE 30N 3|\ Ht) GATE Ht) DETEGTORS AND INTEGRATORS START* STOP QI 12 DUAL PRESEM 26 gm SOALER I PLUG BOARD J c? 32\ lgm r23 l i |50 CYCI-IG ht LOAD PRESET f SHIFT REGISTER SCALER 31,3 CIRGUIT 24 EVEN ODD Ef ADVANCE INVENTOR fui- .4 HUGO M. DECK BY mu( ATTORNEY5 Sept. 29, 1964 Filed Feb. 27 1962 H. M, BECK ELECTRONIC REAL TIME STATISTICAL ANALYZER 7 Sheets-Sheet 3 3R :E15-E DETECTORS AND` 3GN INTEGRATORS READ 1| 12 15.2. CIRCUIT e PLUG BOARD J 0 fu) DIFFEREN- LOAD '3 '5- o TIATING GATE SHIFT REGISTER CIRCUIT CRGU'T t 24 2H 1 EVEN OD) DUAL ADVANCE PRESET SCALER DR'VER 4o fo fo GATES N F 39 Lan 3e\ i ERASE DELAY CIRCUIT 5I lE-E DETECTORS AND 43X INTEGRATORS READ 1I h .1212 CIRCUIT 2G 32` iht) PLUG BOARD J STREET 44 3 SCALER 1 21 I |50 4R 1 DELAY CIROCQJEITI SHIFT REGISTER 24 GATE f EVEN ODD I ADVANCE 2R DRIVER DUII'R-ESET 46N 1 4o 45\ INTERVAL 50 3% Ht) SCALER SwITCHING CIRCUIT GENERATOR GATES JL I ERASE CIRCUIT INV ENTOR HUGO M. BECK L BY QM/V idw. ATTORNEY Sept. 29, 1964 H. M. BECK ELECTRONIC REAL TIME STATISTICAL ANALYZER Filed Feb- 27. 1962 7 Sheets-Sheet 4 READ AND o DETECTORs ANDv C|RCU|T CTRcUTT 5| INTEGRATORS 32\ 1 50 e MINES h i2 132 YC C MATRTx PREST C|RCU|Ts GARD 26 SCALE ZXSLINES PLUG B f k 22\ 23R Ht) 52 LOAD c GATE CIRCUIT DUAL i oDD TEP? f f ADVANCE 59 c FROM DRS. START STOP FU P- F OP GATE CTRCU|T FUL I 58N 59N F(t)p-`o SQUAREE GATE TRlCCER OUTPUT WAV 56 lLLGENERAl-OR ClRCUlT ClRCUlT h-f fU PHASE PULSE f F(t/) SH|PTER GENERATOR 54 U- vVLTT- E Tl'll l INVENTOR HUGO M. BECK BY @MJ e f ATTORNEYS Sept. 29, 1964 H. M. BECK 3,151,312

ELECTRONIC REAL TIME STATISTICAL ANALYZER Filed Feb. 27, 1962 '7 Sheets-Sheet 5 J'TV :ELE-TE A lTO ALL OOUNTERS l 72k 0 1 i 7| 6 2 o 2 READ DETECTORS l f lGATE DRSl T V GATE f LEADING EDGE 83j ONE SHOT DIFFEREN-y DIFFEREN- MULTI- TIATING DELAY T|AT|NG vuaRATOR CIRCUIT cmcul KS4 OATHODE DlFFEREN- is-1 FOLLOwER TIATING A ClRcwT clROUlT lNv.

5 B0 VL DlFFEREN- 5 DANNO mROuIT READ GATE LOAD PROG.4.5.6 PROG.5

-VL i8 ERASE/PULSE AMP PROG. 4,5

'L INVENTOR f HUGO M. BECK J LOAD PROGA FROM l CPS LECJ- IB BY ggg 7 ATTORNEYS Sept. 29, 1964 H. M. BECK ELECTRONIC REAL TIME STATISTICAL ANALYZER Filed Feb. 27, 1962 '7 Sheets-Sheet 6 TO DET ECTO RS BIT I5O BITS ODD

BITZ

GUIDE n V'; "162 O 'Ifg TO N EXT STAGE GUlnEzJ I RESET L N E CLIP PULSE INVENTOR HUGO M. BECK R E T. G E R T F. H S

7 T E9 W I SP. PU w A UC R R DI E CI C C R hmm n x x uw M UH S PS 3 5 E Dw E T AI T A E A nu@ G 9 2 A1 m FE L I T A A G J G E sw M 7 G n W. [..HIm V D E e 40A I\ law P. :I

Q4-V d ATTORNEY5 H. M. BECK 3,151,312

Sept. 29, 1964 Filed Feb. 27, 1962 32 LINES TO PLUG BOARD k 32 OUTPUT D|ODE MATRIX B B B B B B=BUFFER FF=FL|PFLOP '22 FF. FF. FF F.F. FF shsHAPEB 1 l l 1 l I |25 2l s.H. s.H. s H. s H. SH. fo

5 LINES FROM .g3 PLUG BOARD ELE-LE no lll H8 |09 'l ffnn nfr?) V M5 l f(1;) INVENTOR HUGO M. BECK MMM BY ATTORNEYS United States Patent O 3,151,312 ELECTRONIC REAL TIME STATISTICAL ANALYZER Hugo M. Beck, Oxon Hill, Md., assigner to the United States of America as represented by the Secretary of the Navy Filed Feb. 27, 1962, Ser. No. 176,161 Claims. (Cl. 349-1725) (Granted under Title 35, U.S. Code (1952), sec. 266) The invention described herein may be manufactured and used by or for the Goverment of the United States of America for governmental purposes without the payment of any royalties thereon or therefor.

This invention relates to a statistical data processing system and a method for analyzing time series of information. More particularly this invention involves an electronic statistical signal analyzer capable of operating on a time series of arbitrary information by statistical concepts and continuously displaying the results of the operation on a visual display.

In the past the problem of communicating information in a system generally only concerned itself in terms of a serial analysis of sinusoids or pulse functions. However, such systems did not readily lend themselves to the wide variety of available information and the randomness that is experienced in many applications of communicating such information. Today one can scarcely escape the statistical problems that arise in connection with known observations of information which have been influenced by uncontrolled fluctuating conditions, such as in the transmission of electromagnetic waves in the atmosphere or electrical pulses in the nervous system or noise in an electrical circuit. The outstanding characteristic of each observation is its random motion with time.

More recently, systems have been developed that are capable of appreciating the random quality of information by considering it in terms of statistics and probability and as such the eld of science has become increasingly aware of the use of statistical analysis in electronics, geophysics, weather control, radar and other fields. Further, it has only been in recent years that such elds as automation control, various factors of human behavior and noise disturbances in information transfer, have been studied extensively as a statistical phenomena, characterized as such, and treated as a random process.

In communication systems in particular, the problem often arises as to the most effective means of differentiating in an information signal between noise disturbance and the data deeply imbedded within the disturbance. Previously, i-t was conventional to analyze the information by the method of serially deriving the auto-correlation and cross-correlation function for the time varying information signal; however, such methods have been unreliable, expensive, and processing speed has been greatly curtailed, even when high speed recording equipment has been employed. Other processing methods for operating upon time series of information, such as in a time per unit event operation, have been limited to non-statistical techniques, due, largely to the human factor that was necessarily involved in such analyzing. But the largest diiculty has been the incapability of processing information in real time and analyzing it correctly.

In search for a more efficient method and system of analyzing information and to perform the analysis in real time, a set of analysis operations, such as the autocorrelation function, were instrumented as programs for a statistical analyzer. The analysis operations correspond to measurements, which result in output signals consisting of statistical distributions which in turn are compared with appropriate corresponding probability distributions. To supplement these opera-tions it was decided that a dis- ICC crete approach in time and amplitude should serve as a basis for the analyzer and that a binary stream of information arriving at a fixed rate or at least a rate synchronous with some known function of time would be employed. The problem was to examine some measures of randomness of the time series, set up control limits for each type of measure, make statistical measurements on the time series and decide on the bases of these measurements and limits whether or not useful information is present in the time series.

Accordingly it is an object of this invention to provide a new and improved means for making statistical measurements of a time series of information in real time.

Another object of this invention is to concern itself mainly with binary streams of information and the analysis measures corresponding to auto-correlation, crosscorrelation, distributions of pulse trains and patterns, and the Bernaulli distribution.

It is a further object of this invention to select various information processing programs, to select the total sample size for each program and to select any other sampling parameters that are appropriate for the program selected, while continuously displaying the results of these selections on a visual display.

Yet another object of this invention is to provide cross checks for each analyzing program selected and also providing available .checks for testing the various related circuits for marginal operation.

Still another object of this invention is to provide adequate means for making statistical measurements in real time of an information time series corresponding to certain specified probability distribution, to automatize the routine and repetitive parts of the statistical analysis of the time series and to expedite decisions relating to a time series by measurements made of a portion of such time series.

It is still another object of this invention to make binary decisions based on statistical observations and to make these decisions by choosing six different programs as a means of processing input information into usable statistical form, for comparison with the known appropriate probability distributions.

It is still a further object of this invention to analyze an information series in real time from telemetering systems, physical systems and communication systems including both audio and visual, without the need for large scale storage systems, and to provide for error detecting and correcting under actual operating conditions.

While this invention is devised for synchronous parallel operation at communication information rates from any constant-rate real time signal source or from a variable rate source with available rate information, due to its real time approach the necessity is no longer present for recording and storing equipment such as previously required in prior serial auto-correlation and cross-correlation point by point techniques.

The forego-ing and other objects, novel features and advantages of the invention will become more fuliy apparent from the following description when read in connection with the accompanying drawings wherein:

FIG. l is a schematic block diagram of a statistical analyzer in accordance with the principles of this invention;

FIG. 2 is a block diagram of an auto-correlation program as instrumentated for the statistical analyzer;

FIG. 3 is a block diagram of another instrumentation for the auto-correlation program;

FIG. 4 is a block diagram of a cross-correlation program as instrumentated for the statistical analyzer;

FIG. 5 is a block diagram of a time per unit event program as instrumentated for this invention;

FIG. 6 is a block diagram of an events per unit time program as instrumentated for this invention;

FIG. 7 is a block diagram of a pattern counting program as instrumentated for this invention;

' FIG. 8 is a block diagram of the input shaping and gating circuits;

" FIG. 9a is a schematic diagram of the program control and loading circuits;

FIG. 9b is a block diagram of the control circuits for programs shown in FIGS. and 6; FIG. l0 is a partially schematic and partially block diagram of the shift register bit and plug board;

FIG. ll is a diagram of the matrix circuit showing the respective elements in block form;

FIG. 12 is a schematic diagram of the detector circuits;

FIG. 13 is a schematic diagram of an integrator counter and its drive Circuit; and

PIG. 14 is a block diagram of an advance driver for the shi/ft register circuit.

Referring now to the drawings in detail and in particular to FIG. l, a suitable statistical analyzer for observing a time series of information, making various observations in regard to the time series and displaying the statistical distributions of the time series in accordance with the observations, is diagrammatically indicated at 20. The decisions made while performing these various observations of the time series, may be thought of as binary decisions made on the basis of the observed measurements. In order to observe the time series, six different statistical programs were chosen as a means of processing the ltime series vof input information, O), into usable form for comparison with the known probability distribution associated with a particular statistical program. Any one of the statistical programs for analyzing f(t) can be performed by the statistical analyzer 20. The analyzer 20 is capable of performing statistical measurements on the time `series f) in real time by setting up a particular statistical processing program, operating on the time series in accordance with the program for a time period T and continuously displaying the results of the operations on a visual display throughout the time period T;

' Program 1 One approach to analyzing a time series is with the help of the correlation function and the methods of statistical dynamics. In auto-correlation techniques, the function becomes a measure of the mutual connection between two similar values or marks of a time series displaced in T and dependent upon the variable f.

InY a random function the smaller the time consideration the greater the mutual connection between the two values becomes. Since the autor-correlation function of a. random time series tends to produce a constant value as the displacement of the randomness increases to comparatively large value whereas that of a systematic function would persist as a periodic function; auto-correlation is an effective method for detecting a periodic signal in a time series of random quality. The first program, which is shown in FIG. 2 is concerned with a finite unnormalized auto-correlation of the binary time series f(t), the actual operation produced being where 1- is the discrete delay, r=0, l, 2.

In program l shown in FIG. 2, a time series of information f(t) is sent down a shift register, delaying the time series in discrete steps of time T. The time series f(t) is then compared with its delayed versions (tl-1) and the comparison recorded in parallel in corresponding integrators.

In FIG. 2 a time series ;f(t) and a clock rate f0(t) arrive at the analyzer Zt) set up for program l. Here the clock rate actuates a dual Scaler 2li preset for sample size T, which generates two command pulses, start and stop and thereby determines the period for sampling the time series Kt). When sealer 21 is actuated and a start pulse generated, gate 22 sends the time series Ht) to a load circuit 23 which provides the coupling or impedance matching for connecting the signal to shift register 24. Integrator 25 counts the total number of marks in the time series, that have occurred during the sampling period predetermined by scaler 2l. Shift register 24 generates delayed versions of )[(lt) for the sampling period T. The layout of the program is such that any 32 delays of a 15G-bit magnetic core shift register may be chosen by means of a plugboard 26. The plugboard 2t: provides for ease and flexibility in changing the mode of operation for shift register 25 and in connecting the correct shift register outputs to available detectors. The 32 delay signals are then connected to 32 coincidence detectors 27 to 27a and through the detectors to the 32 integrators 28 -to 28u, which in this instant are 6-place decimal scalers. The other terminal of all the coincidence detectors is common and connected to U) as it arrives at the input. The clock pulse fg for this program is assumed to be synchronous with the information time series pulses Kt) and they do not have to arrive at a regular rate. The clock pulse fo generates an. even-odd relationship in advance driver 29 which switches the cores in shift register 2d.

in operation, the input signal f(t) is compared in the detectors with delayed versions of j-(t) and whenever a detector coincidence occurs, a pulse is added to the corresponding integrator. It should be appreciated that if ;f(t) should correspond to multiple delayed versions, the corresponding integrators will all simultaneously register.

Program 2 Program 2 shown in FIG. 3 also provides for autocorrelation and differs from program 1 in that the information signal f(t) is fed directly to the shift register and is not gated with the sampling interval as is necessary in the auto-correlation operation of program 1. In program 1, only the shift register is gated with the sampling interval thereby guaranteeing that the shift register is empty at the beginning of the time period T when the time series is being sampled, and previous unwanted information is ignored in the ensuing correlation. In program 2, only the detectors are gated, thereby guaranteeing that the information in the time series immediately preceding the beginning of time period T is in the shift register when period T begins, and such information can accordingly, be used in the ensuing correlation.

As shown in FIG. 3, a time series signal f(z) and a clock rate fo arrive at the analyzer 20 which has been preset for program 2. Similar to program 1, the clock rate actuates the dual preset sealer, setting up the sampling period T and triggering gate 30 whenever a start puise is generated. This causes the time series Kt) to be sent directly to the detectors. During the total time in which the time series f(t) is impressed at the input, it is being coupled by. load circuit 23k to shift register 24. At the same time the clock rate f@ is triggering advance driver 29 so as to produce even-odd pulses for advancing the time series information along shift register 24. Integrator 25 counts the total number of marksrin the sampling period.

As before in program l, whenever a coincidence occurs between U) that is gating the detectors and a delayed version of f(t) from the shift register 24, a pulse is registered in the appropriate integrator or integrators. However, in this program the input signal f(t) is gating the detectors and immediately being compared with information already in the shift register. It should be pointed out that programs 1 and 2 are identical for processing the main body of information passing during time T. However program l ignores all information prior to time T, and keeps processing information for a short time after the end of time T until the shift register is empty; while ifi ai program 2 processes information already in the shift register when the processing time T begins, and ignores all information after the termination of time T. When both detectors and the shift register are gated, only information arriving during time T is processed.

It should be appreciated that programs l and 2 can be ideally used in short-term correlation communications techniques.

Program 3 It is frequently desirable to correlate a pair of similar time series which are displaced from each other. For example, when two functions are identical except for their time displacement, the general auto-correlation function obtained in either program l or 2 is sutiicient but when the functions are independently derived then it becomes necessary to also determine the cross-correlation by comparing one function with delayed versions of the other function. The equipment required, however, to determine the cross-correlation function is different than in autocorrelation and as a result, program 3 was instrumentated. Program 3 shown in FIG. 4 is similar to programs l. and 2 except that the function in the shift register is an arbitrary function, z(t) or g(t) correlating with (t) which is gating the detectors. The detectors form the product f(t) lz(t{-r) or f(t) g(z-{-T) depending upon which function is correlated with time series ft).

As shown in FlG. 4 and assuming switch 33 is in the position shown, two time series f(t) and Kt) and a clock rate fo, are impressed at the input of analyzer 2t). The clock rate fo initially actuates the dual preset sealer 2i and when a start pulse is generated, the time series Ht) is gated directly to the detectors 31 as in program 2, FIG. 3. The clock rate ,to while actuating the Scaler 21 also actuates a cyclic preset scaler 32 causing a predetermined cyclical output pulse at an arbitrary scaling rate, although the rate is usually some division of the sampling rate by scaler 2l. The function h(t) is then connected by switch 33 to load circuit 23 which couples 11(1) to the shift register 24. The clock rate fo is also performing its usual triggering or advance driver 29 in order to advance [1(1) through the shift register 24. Now, whenever a delayed version of Mt) corresponds to f(t) a coincidence occurs at the detectors and the appropriate integrator or integrators register the result.

By vconnecting switch 33 to the input of time series g(t), an independently derived external function can be coupled to shift register 24 and similarly to Mt), delayed versions of g(t) can be compared with time series f(t).

By switching the load circuit 23 so as to receive signals from the cyclic preset scaler 32, periodic components of f(t) can be detected. This program could be used for experiments in comb filter techniques.

It should also be appreciated that in programs i, 2 and 3 the coincidence detectors may be a more general form of combinational logic, such as anti-coincidence or exclusive OR circuits.

Program 4 According to accepted statistical techniques, one is often interested in run lengths, say of successes in a game. The purpose of program 4 shown in FTG. 5 is to automatically count the number of success runs of length one, success runs of length two, up to the maximum number of success runs. The number of successes of run length r is again counted up in the rth channel and at the end of the observation period the distribution of counts in the various channels will correspond to the statistical distribution of runs in the observation period. Program 4 which can perform this operation, reads and classifies the time per unit event, the event being the length of an isolated pulse group or runs. These groups may be isolated snglets, doublets, etc., up to some maximum value for the sample. The probability that a group will have length r is where p is the probability of a pulse in a time series, and qzl-p. If pJr is plotted on semilogarithmic paper against r, the resulting curve lfor a random distribution is a straight line, the slope being a function of p. Aberrations from randomness in a sample can show up as deviations from this straight line. In this program, a pulse group of length r, selects the rth integrator and is recorded therein and is essentially a study of the probability distribution of run lengths whereas the former programs provide merely a comparison operation.

Program 4, as shown in FIG. 5 has a time series f(t) and a clock rate fo arriving at the input circuits of the program. Clock rate fo actuates the dual preset Scaler 21, which determines the sampling period for the time series f(t) and sends a start pulse to gate Si?. As the time series f(t) goes into mark condition, i.e., a pulse group of intervals to be measured cornes along, the differentiating circuit 35, differentiates the time series to be studied and sends a pulse that is representative of the leading edge to loading circuit 23 which in turn couples the leading edge pulse of the time series to shift register 24. At the same time U) is actuating gate 39 so that clock rate fo can be coupled to the advance driver 40. So long as f(l) remains in mark condition, gate 39 will send clock rate fo pulses to the driver 40. Driver 40 advances the leading edge pulse of the time series f(t) through the shift register 24 corresponding to the consecutive intervals in the pulse group of the time series f(t) being observed. When the mark condition ends, i.e., the pulse group of intervals to be measured ends, the differentiating circuit 35 will send a pulse that is representative of the trailing edge of time series f(t) to the read circuit 36, which in turn, sends a read pulse to all the detectors 3l and gates them into a condition for sensing the bit in shift register 24 in which the leading edge pulse is located. As the mark condition ends, gate 39 is closed and the advance driver before stopping, causes the shift register to read out its information. The information is then sent to the gated detectors and 31 the appropriate integrator registers the result. The read pulse from read circuit 36 is also impressed on delay circuit 37, which delays the signal until the shift register has been read out by the detectors and then actuates erase circuit 38. Erase circuit 38 causes advance driver 4@ to send simultaneous even-odd pulses to the shift register 24 which clears the register and prepares it to start all over again when time series ](t) again enters mark condition.

In program 4, the number of contiguous pulse groups of length r have been recorded in the rth integrator.

Program 5 Previously, statistical data showing the spread of the data in terms of events per unit time were mostly performed on an manual basis. In program 5, shown in FIG. 6, a means is provided for measuring a certain number of events, i.e., pulses, for a period of time, classifying the measurements according to size in the appropriate class intervals, selecting the integrators corresponding to the number of events and recording the results.

In operation the program counts the number of pulses or marks in a xed interval of time T1 and repeats the measurement for a sampling period T, where T may be nTl. Here n will be the number of measurements made. The count Zero will happen n0 times, the count 1 will happen nl times, the count r will happen nr times. It is the number of measurements made, n, that are displayed by the integrators. This program gives, essentially, a measure of the energy distribution of non-overlapping samples of a time series ;f(t). For example, one may Wish to measure the distribution of marks in samples of size l0. The main gate 41 in FIG. 6 is preset to remain open 100 l0=l000 clock pulses and the cyclic preset scale is set at 10. When the main gate 41 closes, there will be 100 readings of the subsample of size 10 in the register 24. These individual subsamples are associated with the Bernoulli distribution v mnt Pf( Jp q where Pis the probability of a pulse in the time series t't), m is the subsample size, r is the number of mark occurrences and q='1-p.

A 'given sample may be plotted on standard plots of the binomial probability density curve and compared directly with it for immediate interpretation of consistent aberrations, or the data may be retained for standard tests of randomness.

As can be seen in FIG. 6 the time series f(t) and clock rate fo are both impressed at the input of the analyzer Ztl. The clock rate actuates the dual preset scaler 21 which generates a start pulse, triggering gate 4l. Gate 41 when triggered passes clock rate fo to the cyclic preset Scaler 2 which generates an output pulse z(t) of some predetermined time division or subsample of clock rate fa. Scaler 32. sends h(t) to read circuit d3 causing this circuit to generate a read pulse and gating detectors 31. In this program, program 5, the read pulse is associated with the clock rate fo whereas in the previous program, program 4, the read pulse is associated with the time series f(t).

The time series f(r) is impressed directly on gate 39 by switch Si) which allows clock rate fo to actuate advance driver '40. At the same time read gate pulses are being sent to detectors 31, a pulse signal is being impressed on delay 44. The delayed signal is then coupled to shift register 24 by load circuit 23. Thus one bit in the shift register is being loaded by a pulse signal which is a function of the cyclical sealer 32 which is a predetermined function of the clock rate fo. Due to the actuating of gate 39 by time series f(t), the loaded bit is advanced through the `shift: register `by driver 40 as a function of Kt) until the cyclic preset sealer 32 again triggers the read circuit 43, which will gate the detectors Si. The loaded bit is then read out and recorded by the appropriate integrator. The pulse delayed by delay 44 is then fed into shift register 24 by circuit 23 and the process repeated. The -same pulse that gates the detector 31 is also employed to actuate erase circuit 38 which Will in turn cause `:the advance driver 4G to generate both evenodd .pulses and erase any undesirable information in the shift register before delayed version of the read pulses is loaded into the shift register 24.

If switch Si? is set so as to connect the output of class interval generator 46, the class interval of integration can be widened. In this application, the time series f(t) is impressed on switchingcircuit 4S which feeds the time series JCU) to normalizing generator 47. Normalizing generator 47 subtracts a constant number of pulses occurring intime series Kr) which in effect will shift the center point of the output display. Should the constant number subtracted by generator 47 be exceeded, then the switching circuit feeds the remaining portion of the time series U) `to the class interval generator 46 which performs a scaling function by causing a certain range of mark counts to be recorded in a given selected channel. In eliect generator 45 is operating as a cyclical preset Scaler. Thus, the overall results registered Iby the'ntegrator or integrators now becomes not only a function of Scaler 32 providing a class interval of one, but now also a function yof class interval circuit 46 and normalizing circuit 47 which provide appropriate circuitry'for many other class intervals.

This program hasalso found itself suitable for studies -in discrete short term-integration communications methods.

Program 6 Vector pattern counting was usually previously Vperformed by a mechanical teletype sequential selector but as a result the speed of operation was limited to teletype speeds, seriously limiting the type and number of signals that could be processed in this manner. Program 6 `shown in FG. 7 performs a vector pattern count in the analysis of a 'time series f(t) by selecting five adjacent or tive noncontiguous bits from along the shift register 24 by the plugboard 26 and fed to matrix circuits 48. These -five bits determine a five-place binary number from 0 to 3l and these numbers are translated by a matrix circuit to 32 outputs. One and only one output line of the matrix circuit 48, is selected for each of the possible 5 bit cornbinations on the matrix input. This selected line selects the appropriate detector and this selection is recorded in the corresponding integrator at read time.

The tive-place binary bits may also be thought of as numbers, derived from a sampling process on a continuous time series, and the distribution measured, would `then be a distribution of amplitudes.

In operation, program 6 initially receives a time series Kt) and clock rate fg. The clock rate actuates the dual preset sealer as in program 2 and allows gate 22 to pass the time series f(t) to circuit 23 in order to load the shift register 24 with information. At the same time fo is triggering the cyclic preset sealer 32, which in turn triggers read circuit 4.3 at the same divisional rate as the clock rate fn. With switch 5l in the position as shown in FIG. 7, whenever read circuit L53 is triggered, it sends a read pulse to gate detectors 3l.

In this program, program 6, five bits, delayed versions of time series itt), from shift register 24 are sent tothe matrix circuits 48, which translates the ve bit information into 32 outputs, which in turn gates the 32 detectors. Thus, whenever a read pulse from circuit 43 gates the detectors 31 in coincidence with the gating signals provided by the matrix translator 48, the detectors read out the matrix selection determined by the 5 bit setting. The lead 52 connecting the clock rate fo to the matrix circuits is provided so that the appropriate matrix circuits can be cleared every time a clock rate fn occurs.

If switch 5i is moved so as to connect to the output of AND circuit Sti it is also possible to pick olf five more bits from the shift register 24 and set up another matrix based on these live bits which will translate the information into a single output pulse. This output pulse can 'then be used to gate the read pulses to actuate the detectors as determined by the live bit setting.

In program 6, a binary set of bits, a vector determined by a time series Kt) and its delayed versions, determines l of 32 possible matrix translator outputs, which are displayed by corresponding detectors and integrators at a time determined by a function of the clock rate fo.

This program could also be suitable for use as a component in'studies of dynamic coding techniques.

A nalyzcr The statistical analyzer Ztl capable of performing the statistical measurements, corresponding to programs 1 to 6, in real time, is shown in FIG. 1. The time series FU) under consideration can be in the form of either pulses or square waves while the clock rate FOU) can be in the form of either pulses or a sine wave. Both the time series and clock rate are applied to an input shapingand gating circuit 53 which provides for reshaping and retiming of the respective input signals, while providing the Ymaster time for the entire system. While the input clock rate can be in the form of either a sine or pulse Wave, it also may be either positive or negative by switch 54. As seen in FlG. 8, provisions are made, circuit 55, for shifting the phase of the input clock rate. The clock rate output is in the form of two out-of-phase positive pulses (even and odd), which are used in the system for sampling, for operating the advance driver circuits and for operating the interval timing equipment such as the cyclic preset scaler in program 6.

The shaping circuit 53 also has switch 56 which will accept time series FU) in the form of pulses or square waves, positive or negative. The information is then gated on and olf (start-stop) for a sampling period T, under the control of a dual preset sealer 57 and is converted into a standardized square wave f(t) by means of a Schmitt trigger circuit 58, since the internal operation of the system as shown is based on a square wave. An output circuit S9 comprising an amplifier or a D.C. coupled flip-nop is employed in order to provide double rank logic outputs from a single rank output from trigger circuit 58. The double rank logic provides a signal f and its complemented signal f'.

The analyzer shown in FIG. 1 is designed for 32- channel operation and the processed information is made visually available by 32 integrators 60. It should be appreciated that more channels of operation could be used and different visual display equipment could be employed for integrators 60.

In the circuit shown in FIG. 13, the integrators 60 comprising a driving circuit 61 and 32 six-place gas-tube decade counters 62, of which only one is shown. This selection was based on size, power consumption and simplicity and not on speed, since the time series under study were of relatively low frequency. The type shown in FIG. 13 is a single ended cold-cathode gas-tube counter. The count is determined by noting the position of the glow on one of the radially spaced cathodes in reference to a bezel engraved O to 9. The counter tube has ten reading cathodes plus two guide or transfer cathodes between each of the reading cathodes. It works on the principle that the starting voltage of a gas discharge is lowered if ions and electrons are already present in the anode-cathode region. The glow can be made t0 move from one cathode to an adjacent one by means of a negative voltage pulse on a new cathode. For example, if the glow is on cathode 1, and guide 1 receives a negative pulse, the glow will transfer to guide 1 adjacent to cathode 1. Then if guide 2 receives a negative pulse, as the pulse decays on guide 1, the glow will transfer to guide 2. At the conclusion of this negative pulse, the guides return to a positive voltage, with .the result that a reading cathode, in this case cathode 2, is now more negative than the guides, hence the glow immediately transfers to it. By reversing the sequence of the negative guide pulses, the direction of the glow transfer can be reversed. The zero cathode is brought out separately so that when the glow reaches it, a voltage is obtained which is used to drive the following counter tube through a driver stage 61. In the analyzer shown in FIG. l, a six-stage counter, with a count capacity of 1()6 is employed in each of the 32 display channels.

Integrator 63 (IQ) connected to the input circuit 53 provides a count of the total number of pulses or marks in the time series under study that have been handled by the analyzer.

From the input circuit 53, the times series f(t), clock rate (fo) and gating pulses are all fed to a program and loading circuit 64 where any one of the above six programs can be selected by a switching arrangement as more fully shown in FIGS. 9a and 9b. The wired-in programs are switched chiefly by six terminal switches. For program 1, the auto-correlation function, information in the form of a square wave is applied to grid 66 of tube 67 through switch contact 68 while the clock rate fo is applied to grid 69 of the same tube through switch contact 70. A startstop gate under the control of the dual preset scaler 57 is also applied to grid 69 through switch contact 72. The output 73 from cathode follower 74 loads the shift register 24 with a signal that corresponds to the time series input f(t). The amount of delay provided at a given output (l to 150) corresponds to the bit position of the signal fed into the shift register. This delayed output information is correlated against the time series f(t) in the coincidence detectors 75.

Since program 2 is similar to program 1 in that the auto-correlation function is observed, the wiring is the same except that the dual preset sealer is not used to gate tube 67. Instead, f(t) is gated by 30 as shown in FIG 3.

For the cross-correlation function, program 3, the output pulse of the cyclic preset sealer 76 (FIG. l) is substituted for clock rate fo by moving contact 70 to position 3 in FIG. 9a. Grid 66 of tube 67 is grounded by also moving contact 68 to position 3. This results in a load being fed into the shift register with every cyclical output pulse.

Programs 4 and 5 can best be seen when considering FIG. 9b in conjunction with FIG. 9a. In program 4, the leading and trailing edges of the pulse group interval under study are differentiated by differentiating circuit S0. The leading edge 31 of the pulse group, loads the shift register 24 through tubes 67, 76 and 74 in the usual manner by moving switch contact 7 0 to position 4. At the same time, the group interval is used to gate on the advance drivers 77 through gates 78 and 79 in the advance driver unit, shown in FIG. 14. On the trailing edge S2 of the pulse group under consideration, the shift register advance ceases, a read pulse is generated by multivibrator 83 and is applied in parallel to all the detectors through cathode follower S4. A read is obtained, however, only from that shift register bit which corresponds to the length of the pulse group interval. This count is fed directly into the corresponding gas-tube integrators. After a slight delay an erase pulse is generated by inverter 85 which clears the shift register in preparation for measuring and recording the duration of the next pulse group interval.

In program 5, the shift register is loaded with a single delayed pulse derived from the cyclic preset sealer 76. The advance drivers 77 are gated on with the marks in time series f( t), which advances the single load down the shift register. On the next cyclic preset Scaler pulse, a read pulse is gated into the detectors 75. The gas-tube integrator 60 receives a count only if it is connected to that bit which corresponds to the total time series mark count, received during the cyclical preset sealer interval. After a small delay an erase pulse is generated which clears the shift register, and a new load pulse is then fed into the first bit of the register. The system is now ready to count automatically the number of marks of the time series f(t) during the next cyclic preset sealer interval.

In program 6, the shift register is loaded in the normal manner as in programs 1 and 2. The detectors, however, are gated from the 32 matrix circuits 90, rather than from the 32 bits of the shift receiver 24 itself. The gastube integrators are told when to read by a read pulse to the detectors derived from the cyclic preset sealer 76.

Two checks are built into the program and loading circuit 64, one, a counter check switch contact 92, grounds grid 66 of tube 67. This results in a constant clock rate fo being loaded into the shift register 24. Since the advance is not gated for this test, all integrator counters 60 should read `the same number of counts in a given time interval determined by the dual preset sealer 57. The second test, the detector check, switch contact 94 (FIG. 9a), grounds a common input for all the detectors. The integrator counters 60, therefore, will recordthe number of pulses or marks in time series f(t), in a given dual preset sealer time interval. Since the advance is not gated, all the integrator counters should read the same.

It should be appreciated that other checks and cross checks are also available by proper setup and by interpretation of output readings.

Basic to the statistical enalyzer 20 is a shift register 24 shown as a magnetic two-core-per-bit shift register in FIG. l0 of 150 bit length. The core is made of a magnetic material that has a nearly rectangular hysteresis loop, which gives it the property of having two stable states, 0 and l. Each core has three windings: an input Winding 191, an output Winding 102, and an advance winding 103, and each bit has two cores, an odd core 194 and an even core 105. When a core receives an advance from driver 77 at terminals 106, a magnetizshift register. vpossible to form from the shift register any number of ring current flows in Vsuch a direction as to cause those is Coupled to the input winding of the following core and causes the core to switch to the l state. In this manner linformation is shifted down the shift register.

The output and input windings of each bit of the shift register y24 are connected to the plugboard w3. The 32 detectors 75 can be plugged into any 32 bits in the This method of connection also makes it independent ring ldops of any desired length.

The circuit for a coincidence detector channel is shown vinFIG. 12. The information from the shift register 24, HH-r), is fed through pl-ugboardlt to input terminal tl9'tvhichimpresses the signal on grid lit? of tube 111.

'Here the signal is integrated by resistor 112 and capacitor 113, to reduce the ettect of any spurious transient pulses from shift register 2d. kImpedances in this stage are 'low in order to reduce noise pickup and to prevent crosstalk between the respective detectors. intube i114, time series U) impressed on terminal M5 is compared for coincidence on grid '116 with )TH-T) on grid 117. If a coincidence occurs, an output pulse is developed which is inverted and shaped in tube 138 and coupled directly to the tirst driver stage 61 of a gas-tube integrator counter. A typical output pulse from the detectors is a positive rectangular pulse shown at coupiing terminal 119. It should be appreciated that in accordance with the program chosen, other signals could be applied to input terminal 115.

To provide program 6 with a translating circuit 9?, a diode matrix circuit as shown in FG. 1l is employed. Here a 32-level diode matrix and switching circuit is shownin block form. Five inputs from the shift register are fed to terminal 120 by way of plugboard 19S. Each of these inputs is shaped by a shaping circuit 121 and control a iip-op 122, which in turn sets up the diode matrix 123 through a group of buffer stages 124. The matrix is essentially a network of diode AND gates,

vso arranged that each combination of states of the flipops yields a ground voltage on only one of the 32 output lines. All the other lines are biased negatively. A read pulse may be obtained from the line when the line is returned to the negative state by resetting the tlipflop through a reset circuit 125 as shown in FIG. 11a.

Clock rate fg is used to trigger the reset circuit although other signals could be employed.

The advance driver circuit 77 for driving the magnetic core units of the shiftregister 24 is shown more fully in FIG. 14. Two pulses fo (even) and fo (odd) generated in the input circuit 53 are used for triggering the driver.

yThe pulses feed a network of gates, such as gates 78 and 79 which in turn generate puises of the proper amplitude, width and rise times. The drivers 26 and 127 are `power pentodes capable of delivering large current pulses `for the even and odd core advance windings 1&3.

'Stn programs 1, 2, 3 and 6 all the gates are gated on. In programs '4 and 5, the advance is gated on in gates 1 and 4 with the f(t) marks impressed on gate terminal 12S. At the proper time, an erase pulse is applied to terminal 129 and fed simultaneously to both lines through gates 3 and 5, and erases all the information in the shift register 24. Gate 2 is used for gating on the even advance, for obtaining a signal from the proper register bit, when the read terminal 130 is triggered for programs 4 and 5,

It should be further understood that programs 4 and 5 may also be instrumental without the use of delay lines, by use of a tive bit binary Scaler, with parallel ve bit output to the matrix, as utilized in program 6.

It should vbe pointed out that other devices are suitable for the display integrators and that it is also possible to provide a normalized display, such as an instantaneous plotting board which can present at cinematic speeds, short-time probability estimates produced by the statistical analyzer.

In conclusion, it is noted that siX statisticalprograms have been instrumented in a single analyzer which is capable of providing useful information with a 'high degree of .reliability inreal time.

'Obviously many modications and variations of the analyzer are possible in the light of the above'teachings. It is therefore to be understood, that within the scope of the .appended claims, the invention may be practiced votherwise than as specifically described.

connections whereby each connection corresponds to. a specific program,

means operative to define in said program means a sample size for each of said statistical programs in accordance with predetermined time intervals.

means receiving the output of said program means for providing a delay of the binary series being analyzed and appearing in the output of said program means,

said delay means having a plurality of output chanels, each output channel corresponding to the bit position of the signal received by said delay means, said delay means Yproducing output pulses on the output channels, each output pulse being the delayed version of the input-binary series of information, the delay of each pulse corresponding to the respective bit position at which the output pulse is produced,

means for advancing said binary series along said delay means,

coincidence detector means vconnected to receive said output pulses `in parallel and for producing apulse whenever coincidence occurs between said binary information and any delayed version thereof,

and means operable to display the pulses produced by said detector means.

2. The data processing system of claim 1 wherein the output of said coincidence `detector means is received to be displayed on an integrator-counter means, said integrator-counter moms having a plurality of channels corresponding to the charmels at the output of the delay means, for indicating in each of said integrator-counter channels a-value corresponding tothe number of coincidencesdetected in a particular channel, whereby the values of the plurality of channels displayed together represent a statistical distribution.

3. A data processing system as recited in claim 2, further inclum'ng means for providing cross-checks in said program means for each program selected.

4. Aidata processinry system as recited in claim 3, further including means for counting the total number of pulses of binary series of information that have occurred in the sampling period.

5. A data processing system as recited in claim 4, further including-means for defining additional sampling parameters in said program means.

References'Cited in tlie'tilel of this patent UNiTED STATES PATENTS 2,947,971 Glauberman Aug. 2, 1960 

1. A DATA PROCESSING SYSTEM FOR STATISTICALLY ANALYZING A BINARY SERIES OF INFORMATION IN REAL TIME WITH RESPECT TO A CLOCK PULSE COMPRISING: INPUT MEANS RESPONSIVE TO SAID BINARY INFORMATION AND CLOCK PULSE FOR SHAPING AND SYNCHRONIZING SAID CLOCK PULSE WITH SAID BINARY INFORMATION, PROGRAM MEANS FOR PERFORMING A PLURALITY OF STATISTICAL PROGRAMS AND OPERATING ON SAID BINARY INFORMATION FOR A GIVEN TIME INTERVAL, MEANS FOR SELECTIVELY CONNECTING SAID PROGRAM MEANS TO THE OUTPUT OF SAID SHAPING AND SYNCHRONIZING MEANS, SAID CONNECTING MEANS HAVING A PLURALITY OF CONNECTIONS WHEREBY EACH CONNECTION CORRESPONDS TO A SPECIFIC PROGRAM, MEANS OPERATIVE TO DEFINE IN SAID PROGRAM MEANS A SAMPLE SIZE FOR EACH OF SAID STATISTICAL PROGRAMS IN ACCORDANCE WITH PREDETERMINED TIME INTERVALS. MEANS RECEIVING THE OUTPUT OF SAID PROGRAM MEANS FOR PROVIDING A DELAY OF THE BINARY SERIES BEING ANALYZED AND APPEARING IN THE OUTPUT OF SAID PROGRAM MEANS, SAID DELAY MEANS HAVING A PLURALITY OF OUTPUT CHANNELS, EACH OUTPUT CHANNEL CORRESPONDING TO THE BIT POSITION OF THE SIGNAL RECEIVED BY SAID DELAY MEANS, SAID DELAY MEANS PRODUCING OUTPUT PULSES ON THE OUTPUT CHANNELS, EACH OUTPUT PULSE BEING THE DELAYED VERSION OF THE INPUT BINARY SERIES OF INFORMATION, THE DELAY OF EACH PULSE CORRESPONDING TO THE RESPECTIVE BIT POSITION AT WHICH THE OUTPUT PULSE IS PRODUCED, MEANS FOR ADVANCING SAID BINARY SERIES ALONG SAID DELAY MEANS, COINCIDENCE DETECTOR MEANS CONNECTED TO RECEIVE SAID OUTPUT PULSES IN PARALLEL AND FOR PRODUCING A PULSE WHENEVER COINCIDENCE OCCURS BETWEEN SAID BINARY INFORMATION AND ANY DELAYED VERSION THEREOF, AND MEANS OPERABLE TO DISPLAY THE PULSES PRODUCED BY SAID DETECTOR MEANS. 